Method of home media server control

ABSTRACT

New forms of entertainment can result from this method of selecting, identifying, and storing by a media producer of multi-media content as files to a storage medium within an editing platform. Generating, using an editing software program, a set of instructions and data for assembly of an edited program, the edited program including specified segments from the files of the multi-media content. Assembling the specified segments using the set of instructions and data to form the edited program. Storing the edited program on the editing platform. Analyzing, using a software program, endpoint frames of each segment in the edited program, the analysis resulting in analysis data stored on the editing platform. Distributing the information to a home media server. Emulating assembly of the edited program by the home media server using the information and a home media server editing program, the assembled edited program being stored in the home media server.

BACKGROUND OF THE INVENTION

[0001] 1. Field of the Invention

[0002] The present invention generally relates to home media servers. More particularly, the present invention relates to home media server content management and processing.

[0003] 2. Discussion of the Related Art

[0004] Consumers are beginning to own home media servers or set-top boxes (such as TiVo) that have powerful media processing capabilities. These units are capable of downloading content over networks and digitally recording many hours of movies, television programs, music, game software, advertisements, etc. Consumers will soon own large libraries of television and other content for their personal enjoyment.

[0005] Already, the set-top box is becoming a popular adjunct to TV viewing. Acting as an intelligent personal video recorder, a set-top box can “pause” broadcast video, receive TV listings, and store and display directed advertising. The several technologies that enable the disclosed invention, including video editing software, are well known to those skilled in the art.

[0006] Media producers today produce content and then distribute it to the public. Television producers shoot video, record voiceovers, license historical clips, etc., and distribute the resulting edited content to the public via various media. Likewise, music is produced in a studio, using live musicians or licensed musical samples, and distributed on compact discs or digitally over the Internet. These are costly methods of media production.

[0007] Therefore, there is a need for an improved method of producing media products at low cost that enables consumers to re-use home content as raw materials.

BRIEF DESCRIPTION OF THE DRAWINGS

[0008]FIG. 1 illustrates a home media server content management and processing system according to an embodiment of the present invention;

[0009]FIG. 2 illustrates a flow chart diagram of a method for providing home media server content management and processing according to an embodiment of the present invention; and

[0010]FIG. 3 illustrates a flow chart for emulation by a home media server of steps taken by a producer to create an edited program according to an embodiment of the present invention.

DETAILED DESCRIPTION

[0011] The present invention allows instructions from media producers to control home media servers in a way that adds value to home content libraries. A home media server, such as a set-top box, stores, manages, and processes consumer content, such as movies and music. The present invention enables media producers to provide valuable media server content management and content processing software to the public. In one embodiment, messages to video editing software running on a home media server allow the intelligent playback of home content in new and appealing combinations.

[0012] New forms of entertainment can result from this method of selecting, synchronizing, editing, mixing, and displaying home content. With the present invention, home recordings become an open source of content on top of which media producers are able to create new layers of media products for the public. Generally, this method enables the processing and combining of home content and software within a home media server to allow new applications, games, and entertainment to be displayed. In particular, robust methods of home content recognition, selection, segmentation, and synchronization are disclosed.

[0013]FIG. 1 illustrates a home media server content management and processing system. A media producer using an editing platform 110 running editing software, creates and stores a database containing producer specified multi-media content. The producer generates a set of instructions and data to assemble an edited program using specified segments from the multi-media content database. The assembled edited program is viewed real-time and stored on the storage medium of the editing platform 110. The set of instructions, data, and multi-media content in the public domain or that the producer has secured rights to, are distributed via the Internet, or other connection, to home media servers 130.

[0014] A home media server 130 receives the set of instructions, data, and multi-media content from the editing platform 110 via the Internet 120 or other connection. The home media server 130 emulates the assembly of the edited program using the set of instructions, data, and multi-media content, displays the assembled edited program in real-time on a monitor 140, and stores the assembled edited program in the home media server 130.

[0015]FIG. 2 illustrates a flow chart diagram of a method for providing home media server content management and processing according to an embodiment of the present invention. A television producer selects 200 video and audio content, such as original works of art or movies and music that are available to the public, in the public domain, or that the producer has secured rights to, for instance, through downloaded files over the Internet.

[0016] The titles identifying 201 the set of content selections (such as movie and song titles), as well as the content that will be used in the assembly of the edited program are stored 202 as data files on the producer's storage medium within his/her editing platform. Sample systems may include a Pentium IV PC, Apple McIntosh or any equivalent computer-based editing platform running video-editing software, such as Avid, Adobe Premiere or other equivalent software. The producer may also create original video, audio, and software, and integrate them into a new program as well. Such content is also stored as media files on the producer's storage medium within his editing platform. Content files may be stored in various media formats, such as Moving Pictures Experts Group 4, also known as MPEG4 (specification ISO/IEC JTC1/SC29/WG11 N4030, International Organisation for Standardisation Organisation Internationale De Normalisation, published March 2001) and MP3, a subset of MPEG1 (specification ISO/IEC JTC1/SC29/WG11 NMPEG 96, International Organisation for Standardisation Organisation Internationale De Normalisation, published June 1996).

[0017] The producer generates 210 a set of instructions and data for the assembly of an edited program. The producer uses the editing software program to specify 211 the endpoints of specific segments within those content files that will be used to assemble an edited video program. One sample set of segments may be specific scenes from several different movies starring a specific actor. Each segment is assigned 211 a segment ID number.

[0018] The producer then uses the editing software in several steps 212 to sequence these segments, and manipulate, i.e., effect the segments, and create video transitions, such as cuts and dissolves between segments. The producer may also mix and sequence several audio segments in a similar fashion. Methods for implementing such steps are known to those in the art.

[0019] A final edited video program, including audio, is then assembled 220 using these steps and stored for viewing 230 on the producer's computer. All these editing steps are stored 230 as a set of data, which is used by the producer's video-editing software to assemble the edited program. This same data is distributed 250 to home media servers over the Internet.

[0020] Analysis software running on the PC analyzes 240 the endpoint frames (e.g., the first and last {fraction (1/30)}^(th) sec.) of each segment that was used to create the edited program. The results of such analysis are stored as additional data to be distributed 250 to home media servers in like fashion. An example of such analysis may be the Fast Fourier Transform (FFT) of each endpoint frame, stored in the following format:

[0021] Title / segmentID / startFFT / endFFT

[0022] Video frames may be represented by two-dimensional FFTs, whereas audio frames may be represented by one-dimensional FFTs. Such transforms are well known to those in the art.

[0023] Alternatively, decimated versions of content endpoint frames may be used. The producer may distribute a small bit of untransformed content (e.g., 20 ms of audio or one frame of video) to allow the home server to correlate and find the end points.

[0024] Additionally, downloadable instructions 260 from the media producer to the home media server direct the media server to search, bid for, obtain rights to schedule and manage the recording of broadcast, on-demand, and other media content, such as movies, music, games, advertisements, etc. The media producer may also deliver downloadable instructions 260 to direct the home media server to search, bid for, etc., media processing software modules required to create the edited program.

[0025] In another embodiment of the present invention, downloadable instructions 260 allow advertisement selection, content choices, etc., to be based on viewer behavior and metrics. Viewing history, purchasing history, etc., may be securely stored in the home media server, but used to control content selection, surfing, and directed advertising.

[0026] Home media servers, having downloaded this data, may now use this data to emulate 270 the steps taken by the producer outlined above to assemble an edited program similar to that specified by the producer.

[0027] The editing steps of the producer are saved and used to create a set of instructions for the home media servers. These instructions instruct a home media server to “emulate,” 270, i.e. repeat the steps taken by the producer. Certain messages allow the home server to find the video and audio “raw” content specified. If the content is not found on the home server, or delivered via the Internet from the producer, it may downloaded from remote content servers. Other messages direct the home server to synchronize, edit, and combine the raw content selections in virtually the same way as the producer and to output the resulting data stream output for display.

[0028] Using this method, the home media server only emulates the content selection, ordering, and processing choices of the producer. No copyright restricted material is transferred from producer to consumer. In fact, the consumer is viewing content that he/she has a right to view. In this process, the new work of art is a set of content selecting, time-shifting, processing, and combining instructions used to control how home media servers playback the content.

[0029]FIG. 3 illustrates a flow chart for home media server emulation of steps taken by a producer to create an edited program. Title data is used to search 300 the home media server storage medium and the Internet, for example, for content titles specified by the producer. Instructions 310 from the media producer to the home media server direct the home media server to search, bid for, obtain rights to schedule, and manage the recording of broadcast, on-demand, and other media content, such as movies, music, games, advertisements, etc. If titles are found via the Internet, they are stored on the home media server storage medium 320.

[0030] After all titles are found, analysis software 330 running on the home media server performs the FFT of each frame of the specified content and compares it to the FFT data downloaded from the media producer. A correlation between the home media server analysis and downloaded media producer FFT data allows the home media server to identify the exact segment endpoints used to assemble the program.

[0031] Alternatively, decimated versions of content endpoint frames may be used to perform the correlation. The small bits of untransformed content (e.g., 20 ms of audio or one frame of video) distributed by the media producer may allow the home server to perform a correlation to find the end points.

[0032] Video editing software running on the home media server uses the editing step data to assemble 340 a similar edited program as specified by the producer. The assembled program may be stored for later playback, or played back during the assembly process in real-time.

[0033] In summary, the present invention allows instructions from media producers to control home media servers in a way that adds value to home content libraries. A home media server, such as a set-top box, manages and processes consumer content, such as movies and music. The home media server only emulates the content selection, ordering, and processing choices of the media producer. For example, a producer may create a documentary on New York in the 1940's using images stored from home documentaries on jazz and World War II combined with home stored music. The producer may also download to the consumer original voiceover content. The consumer is viewing content that he/she has a right to view. In this process, the new work of art is a set of content selecting, time-shifting, processing, and combining instructions used to control how home media servers playback the content. This method enables media producers to use home stored recordings as an open source of content on top of which they can create new layers of media products for the public

[0034] While the description above refers to particular embodiments of the present invention, it will be understood that many modifications may be made without departing from the spirit thereof. The accompanying claims are intended to cover such modifications as would fall within the true scope and spirit of the present invention. The presently disclosed embodiments are therefore to be considered in all respects as illustrative and not restrictive, the scope of the invention being indicated by the appended claims, rather than the foregoing description, and all changes that come within the meaning and range of equivalency of the claims are therefore intended to be embraced therein. 

What is claimed is:
 1. A home media server content management and processing system, comprising: an editing platform running editing software; a database, contained in the editing platform, to store media producer specified multi-media content; a set of instructions and data generated by a media producer to assemble an edited program using specified segments of the multi-media content; a network to distribute the multi-media content, the set of instructions, and the data to home media servers; a home media server to receive the multi-media content, the set of instructions, and the data from the editing platform via the network, wherein the home media server emulates assembly of the edited program using the multi-media content, the set of instructions and the data, and displays the assembled edited program on a monitor.
 2. The home media server content management and processing system according to claim 1, wherein emulating assembly of the edited program includes using data to search a home media server storage medium and the Internet for multi-media content titles specified by the media producer.
 3. The home media server content management and processing system according to claim 1, wherein emulating assembly of the edited program includes using data to search, bid for, obtain rights to, schedule, and manage recording of broadcast, on-demand, and other media content.
 4. The home media server content management and processing system according to claim 1, wherein the assembled edited program is stored in the home media server.
 5. A method of providing home media server content management and processing, comprising: selecting, identifying, and storing by a media producer, of multi-media content as files to a storage medium within an editing platform to form files of the multi-media content; generating, by the media producer using an editing software program, a set of instructions and data for assembly of an edited program, said edited program including specified segments from the files of the multi-media content; assembling the specified segments using the set of instructions and data to form the edited program; storing the edited program on the editing platform; analyzing, using a software program, endpoint frames of each segment used in the assembly of the edited program, said analysis resulting in analysis data stored on the editing platform; distributing said files of the multi-media content, the set of instructions, the data, and the analysis data to a home media server; emulating assembly of the edited program by said home media server using the files of the multi-media content, the set of instructions, the data, the analysis data, and a home media server editing program, said assembled edited program being stored in the home media server.
 6. The method according to claim 5, wherein the multi-media content includes movies and music available through downloaded files via the Internet.
 7. The method according to claim 5, wherein identifying of the multi-media content includes assigning titles, said titles stored as title data on the storage medium within the editing platform.
 8. The method according to claim 5, wherein the multi-media content is stored as media files on the storage medium within the editing platform.
 9. The method according to claim 8, wherein the media files are stored in various media formats, where video is stored as MPEG4 and audio is stored as MP3.
 10. The method according to claim 5, wherein distributing of the files of the multi-media content, the set of instructions, the data, and the analysis data is via the Internet.
 11. The method according to claim 5, wherein generating the set of instructions for assembly of the edited program includes directing the media server to search, bid for, obtain rights to schedule and manage the recording of broadcast, on-demand, and other media content including at least one of movies, music, games, advertisements, and media processing software modules.
 12. The method according to claim 5, wherein generating the data for assembly of the edited program includes specifying by the media producer, using the editing software program, endpoints of specific segments within the files of multi-media content that are used to assemble the edited program, each set of said endpoint segments assigned a segment identification number.
 13. The method according to claim 12, wherein specifying by the media producer, using the editing software program, includes using various content recognition algorithms.
 14. The method according to claim 12, wherein generating the set of instructions for assembly of the edited program includes manipulating and sequencing of the specified segments by the media producer using the editing software program, said manipulating including creating and storing a set of manipulation instructions, said sequencing including producing and storing a sequence order.
 15. The method according to claim 14, wherein the manipulation instructions include instructions to effect the segments, and to create transitions between the segments using the editing software program.
 16. The method according to claim 14, wherein assembling the segments includes using the sequence order, segment ID numbers, manipulation instructions, and the editing software program to produce the edited program
 17. The method according to claim 5, wherein the analysis includes at least one of a fast fourier transform (FFT) of each end point frame to form media producer fast fourier transform (FFT) data, and a decimation of each end point frame to form media producer decimated data.
 18. The method according to claim 17, wherein a video frame is represented by a two-dimensional fast fourier transform (FFT), and an audio frame is represented by a one-dimensional fast fourier transform (FFT).
 19. The method according to claim 17, wherein emulating assembly of the edited program includes using an analysis software program running on the home media server to perform fast fourier transform (FFT) of each frame of the specified segments from the files of the multi-media content and to compare the home media server fast fourier transform (FFT) to downloaded media producer fast fourier transform (FFT) data, wherein a correlation between the home media server fast fourier transform (FFT) and the downloaded media producer fast fourier transform (FFT) data allows the home media server to identify exact segment endpoints used to assemble the edited program.
 20. The method according to claim 17, wherein emulating assembly of the edited program includes using an analysis software program running on the home media server to perform a decimation of each frame of the specified segments from the files of the multi-media content to form home media server decimated data and to compare the home media decimated data to downloaded media producer decimated data, wherein a correlation between the home media server decimated data and the downloaded media producer decimated data allows the home media server to identify exact segment endpoints used to assemble the edited program.
 21. The method according to claim 7, wherein emulating assembly of the edited program includes using title data to search a home media server storage medium and the Internet for multi-media content titles specified by the media producer.
 22. A program code storage device, comprising: a machine-readable storage medium; and machine-readable code, stored on the machine-readable storage medium, having instructions to select, identify, and store multi-media content as files to a storage medium within a editing platform, generate a set of instructions and data for assembly of a edited program, said edited program including specified segments from the files of the multi-media content, assemble the specified segments using the set of instructions and the data to form the edited program; view and store the edited program on the editing platform, analyze endpoint frames of each segment used in the assembly of the edited program, said analysis resulting in analysis data stored on the editing platform, distribute said files of the multi-media content, the set of instructions, the data, and the analysis data to a home media server, and cause the home media server to emulate assembly of the edited program by using the files of the multi-media content, the set of instructions, the data, the analysis data, and a home media server editing program.
 23. The program code storage device according to claim 22, wherein generation of the data for assembly of the edited program includes specification by the media producer, using the editing software program, endpoints of specific segments within the files of the multi-media content that are used to assemble the edited program, each set of said endpoint segments assigned a segment identification (ID) number.
 24. The program code storage device according to claim 23, wherein specification by the media producer, using the editing software program, includes using various content recognition algorithms.
 25. The program code storage device according to claim 23, wherein generation of the set of instructions for assembly of the edited program includes manipulating and sequencing of the specified segments by the media producer using the editing software program, said manipulation including creating and storing a set of manipulation instructions, said sequencing including producing and storing a sequence order.
 26. The program code storage device according to claim 25, wherein the manipulation instructions include instructions to effect the segments, and to create transitions between the segments using the editing software program.
 27. The program code storage device according to claim 25, wherein assembling the segments includes using the sequence order, segment identification (ID) numbers, manipulation instructions, and the editing software program to produce the edited program.
 28. The program code storage device according to claim 22, wherein the multi-media content includes movies and music available through downloaded files via the Internet.
 29. The program code storage device according to claim 22, wherein identification includes assigning titles, said titles stored as title data on the storage medium within the editing platform.
 30. The program code storage device according to claim 22, wherein the multi-media content is stored as media files on the storage medium within the editing platform.
 31. The program code storage device according to claim 30, wherein the media files are stored in various media formats, where video is stored as MPEG4 and audio is stored as MP3.
 32. The program code storage device according to claim 22, wherein the analysis includes a fast fourier transform (FFT) of each end point frame to form media producer fast fourier transform (FFT) data, or a decimation of each end point frame to form media producer decimated data.
 33. The program code storage device according to claim 32, wherein a video frame is represented by a two-dimensional fast fourier transform (FFT), and a audio frame is represented by a one-dimensional fast fourier transform (FFT).
 34. The program code storage device according to claim 22, wherein the distribution is via the Internet.
 35. The program code storage device according to claim 22, wherein the assembled edited program is viewed real time and stored in the home media server.
 36. A program code storage device, comprising: a machine-readable storage medium; and machine-readable code, stored on the machine-readable storage medium, having instructions to receive from a media producer files of multi-media content, a set of instructions, data, analysis data, and emulate assembly of an edited program using the files of the multi-media content, the set of instructions, the data, the analysis data, and a home media server editing program, said assembled edited program viewed real-time and stored in the home media server.
 37. The program code storage device according to claim 36, wherein emulation of the assembly of the edited program includes using title data to search a home media server storage medium and the Internet for multi-media content titles specified by the media producer.
 38. The program code storage device according to claim 36, wherein emulation of the assembly of the edited program includes using title data to search, bid for, obtain rights to, schedule, and manage recording of broadcast, on-demand, and other media content.
 39. The program code storage device according to claim 36, wherein the analysis data includes media producer fast fourier transform (FFT) data, and media producer decimated data.
 40. The program code storage device according to claim 39, wherein emulation of the assembly of the edited program includes using an analysis software program running on the home media server to perform fast fourier transform (FFT) of each frame of the specified segments from the files of the multi-media content and to compare the home media server fast fourier transform (FFT) to downloaded media producer fast fourier transform (FFT) data, wherein a correlation between the home media server fast fourier transform (FFT) and the downloaded media producer fast fourier transform (FFT) data allows the home media server to identify exact segment endpoints used to assemble the edited program.
 41. The program code storage device according to claim 39, wherein emulating assembly of the edited program includes using an analysis software program running on the home media server to perform a decimation of each frame of the specified segments from the files of the multi-media content to form home media server decimated data and to compare the home media decimated data to downloaded media producer decimated data, wherein a correlation between the home media server decimated data and the downloaded media producer decimated data allows the home media server to identify exact segment endpoints used to assemble the edited program. 